<?php
    if ($this->getUsuario() != null) {
		if (($this->getUsuario()->getProfessorAutorizado() && $this->getUsuario()->getTipoCadastro() == 'Professor') || ($this->getUsuario()->getTipoCadastro() == 'Administrador')) {
			$pagina 	=	constant('PARAMETRO_0');
			if ($pagina != 'criarcurso') {
				adicionaMensagem(texto('MENSAGEM_ERRO_ACAO_INVALIDA'),'erro');
				redireciona(array('inicial'));
				exit();
			}
			
			$idCurso 			=	isset($_SESSION['constructore']['criarcurso']['idCurso']) ? $_SESSION['constructore']['criarcurso']['idCurso'] : null;
			$cursoConstrucao 	=	isset($_SESSION['constructore']['criarcurso']['cursoConstrucao']) ? unserialize($_SESSION['constructore']['criarcurso']['cursoConstrucao']) : null;
			
			if ($_POST) {
				//SALVAR PASSO 4
				if (isset($_POST['btnSalvarPasso4']) || isset($_POST['btnInserirModuloPasso4'])) {
					$strTituloModulo	=	pegaPost('strTituloModulo');
					$strDescricaoModulo	=	configuraHTMLFormatado(pegaPost('strDescricaoModulo'));
					$strVisibilidade	=	pegaPost('strVisibilidade');
					$btnSalvar			=	isset($_POST['btnSalvarPasso4']) ? true : false;
					if ($btnSalvar && $strTituloModulo == "" && $strDescricaoModulo == "" && $strVisibilidade == "") {
						adicionaMensagem(texto('MENSAGEM_SUCESSO_CRIAR_CURSO', array(texto('PASSO_4'))));
						if (isset($_SESSION['constructore']['criarcurso']['passo4']))
							unset($_SESSION['constructore']['criarcurso']['passo4']);
						redireciona(array('criarcurso', 'passo5'));
					}
					
					if (Modulo::inserir($idCurso, $this->getUsuario()->getIdUsuario(), $strTituloModulo, $strDescricaoModulo, $strVisibilidade)) {
						if ($btnSalvar){
							if (isset($_SESSION['constructore']['criarcurso']['passo4']))
								unset($_SESSION['constructore']['criarcurso']['passo4']);
							adicionaMensagem(texto('MENSAGEM_SUCESSO_CRIAR_CURSO', array(texto('PASSO_4'))));
							redireciona(array('criarcurso', 'passo5'));
						}
						else
							adicionaMensagem(texto('MENSAGEM_SUCESSO_INSERIR_ITEM'));
							redireciona(array('criarcurso', 'passo4'));
						
						exit();
					}
					else {
						$_SESSION['constructore']['criarcurso']['dadosModulo']	=	$_POST;
						$_SESSION['constructore']['criarcurso']['dadosModulo']['strDescricaoModulo']	=	stripslashes($strDescricaoModulo);
						adicionaMensagem(texto('MENSAGEM_ERRO_INSERIR_ITEM'), 'erro');
						redireciona(array('criarcurso', 'passo4'));
					}
				}
				if (isset($_POST['btnExcluirModulo'])) {
					$idModulos	=	"";
					foreach($_POST as $chave => $post) {
						if (preg_match('/^checkModulo[0-9]+$/', $chave))
							$idModulos	.=	str_replace('checkModulo', '', $chave ) . ", ";
					}
					$idModulos	=	preg_replace('/\, $/', '', $idModulos);
					if(Modulo::excluir($idModulos))
						adicionaMensagem(texto('MENSAGEM_SUCESSO_APAGAR_ITEM'));
					else
						adicionaMensagem(texto('MENSAGEM_ERRO_APAGAR_ITEM'), 'erro');
					redireciona(array('criarcurso', 'passo4'));
				}
				if (isset($_POST['btnCancelarEdicaoModuloPasso4'])) {
					if (isset($_SESSION['constructore']['criarcurso']['passo4']['editar']))
						unset($_SESSION['constructore']['criarcurso']['passo4']['editar']);
						
					redireciona(array('criarcurso', 'passo4'));
				}
				$ordenarModuloPressionado		=	false;
				$editarModuloPressionado		=	false;
				$salvarEdicaoModuloPressionado	=	false;
				foreach($_POST as $chave => $post) {
					if (preg_match('/^btnOrdenarModulo[0-9]+$/', $chave))
						$ordenarModuloPressionado	=	true;
				}
				foreach($_POST as $chave => $post) {
					if (preg_match('/^btnEditarModulo[0-9]+$/', $chave))
						$editarModuloPressionado	=	true;
				}
				foreach($_POST as $chave => $post) {
					if (preg_match('/^btnSalvarEdicaoModulo[0-9]+$/', $chave))
						$salvarEdicaoModuloPressionado	=	true;
				}
				
				if ($ordenarModuloPressionado) {
					foreach($_POST as $chave => $post) {
						if (preg_match('/^btnOrdenarModulo[0-9]+$/', $chave))
							$idModulo	=	str_replace('btnOrdenarModulo', '', $chave );
					}
					$funcaoOrdenar	=	$_POST['btnOrdenarModulo'.$idModulo];
					if (Modulo::editar($idModulo, null, null, null, null, $funcaoOrdenar, $this->getUsuario()->getIdUsuario()))
						adicionaMensagem(texto('MENSAGEM_SUCESSO_TROCAR_ORDEM_ITEM'));
					else
						adicionaMensagem(texto('MENSAGEM_ERRO_TROCAR_ORDEM_ITEM'), 'erro');
					redireciona(array('criarcurso', 'passo4'));
				}
				if ($editarModuloPressionado) {
					foreach($_POST as $chave => $post) {
						if (preg_match('/^btnEditarModulo[0-9]+$/', $chave))
							$idModulo	=	str_replace('btnEditarModulo', '', $chave );
					}
					if (isset($_SESSION['constructore']['criarcurso']['passo4']['editar']))
						unset($_SESSION['constructore']['criarcurso']['passo4']['editar']);
						
					$_SESSION['constructore']['criarcurso']['passo4']['editar']						=	$idModulo;
					redireciona(array('criarcurso', 'passo4'));
				}
				
				if ($salvarEdicaoModuloPressionado) {
					foreach($_POST as $chave => $post) {
						if (preg_match('/^btnSalvarEdicaoModulo[0-9]+$/', $chave))
							$idModulo	=	str_replace('btnSalvarEdicaoModulo', '', $chave );
					}
					$strTituloModulo	=	pegaPost('strTituloModuloEdicao');
					$strDescricaoModulo	=	configuraHTMLFormatado(pegaPost('strDescricaoModuloEdicao'));
					$strVisibilidade	=	pegaPost('strVisibilidadeEdicao');
					if (isset($_SESSION['constructore']['criarcurso']['passo4']['editar']))
						unset($_SESSION['constructore']['criarcurso']['passo4']['editar']);
					
					if(Modulo::editar($idModulo, $strTituloModulo, $strDescricaoModulo, $strVisibilidade, null, null, $this->getUsuario()->getIdUsuario())) {
						adicionaMensagem(texto('MENSAGEM_SUCESSO_EDITAR_ITEM'));
						redireciona(array('criarcurso', 'passo4'));
					}
					else {
						$_SESSION['constructore']['criarcurso']['passo4']				=	$_POST;
						$_SESSION['constructore']['criarcurso']['passo4']['editar']		=	$idModulo;
						$_SESSION['constructore']['criarcurso']['passo4']['erroEdicao']	=	true;
						adicionaMensagem(texto('MENSAGEM_ERRO_EDITAR_ITEM'), 'erro');
						redireciona(array('criarcurso', 'passo4'));
					}
				}
			}
			else {
				if (is_array($resultado		=	Modulo::buscar($idCurso))) {
					$listaModulos	=	$resultado['listaResultados'];
					$qtdModulos		=	$resultado['qtdResultadosTotal'];
				}
				$modulosExpandidos	=	isset($_SESSION['constructore']['criarcurso']['passo4']['moduloExpandido']) ? $_SESSION['constructore']['criarcurso']['passo4']['moduloExpandido'] : null;
				$moduloModoEdicao	=	isset($_SESSION['constructore']['criarcurso']['passo4']['editar']) ? $_SESSION['constructore']['criarcurso']['passo4']['editar'] : null;
				foreach($listaModulos as $chave=>$modulo) {
					if (!is_null($moduloModoEdicao) && isset($_SESSION['constructore']['criarcurso']['passo4']['erroEdicao']) && $_SESSION['constructore']['criarcurso']['passo4']['erroEdicao'] && $modulo['idModulo'] == $moduloModoEdicao) {
						$listaModulos[$chave]['titulo']		=	$_SESSION['constructore']['criarcurso']['passo4']['strTituloModuloEdicao'];
						$listaModulos[$chave]['apresentacao']	=	$_SESSION['constructore']['criarcurso']['passo4']['strDescricaoModuloEdicao'];
						$listaModulos[$chave]['visivel']		=	$_SESSION['constructore']['criarcurso']['passo4']['strVisibilidadeEdicao'] == 'nao' ? false : true;
						
					}
					else {
						if (is_null($moduloModoEdicao) || (!is_null($moduloModoEdicao) && $modulo['idModulo'] != $moduloModoEdicao)){
							$listaModulos[$chave]['apresentacao'] = configuraHTMLExibicao($listaModulos[$chave]['apresentacao']);
						}
					}
				}
				//CONFIGURANDO TEXTOS PARA O TEMPLATE
				$this->getSmarty()->assign('listaModulos', $listaModulos);
				$this->getSmarty()->assign('qtdModulos', $qtdModulos);
				$this->getSmarty()->assign('modulosExpandidos', $modulosExpandidos);
				$this->getSmarty()->assign('moduloModoEdicao', $moduloModoEdicao);
				
				$this->getSmarty()->assign('AREA_MODULOS', $cursoConstrucao->getNomeModulo());
				$this->getSmarty()->assign('MENSAGEM_AVISO_MODULOS_VAZIO', texto('MENSAGEM_AVISO_MODULOS_VAZIO', array($cursoConstrucao->getNomeModulo(), $cursoConstrucao->getNomeModulo(), $cursoConstrucao->getNomeModulo(),$cursoConstrucao->getNomeModulo())));
				$this->getSmarty()->assign('TEXTO_EXPLICATIVO_SECAO_PASSO_4', texto('TEXTO_EXPLICATIVO_SECAO_PASSO_4', array($cursoConstrucao->getNomeModulo())));
				$this->getSmarty()->assign('LISTA_TITULO_MODULOS_INSERIDOS', texto('LISTA_TITULO_MODULOS_INSERIDOS', array($cursoConstrucao->getNomeModulo(), $cursoConstrucao->getNome())));
				$this->getSmarty()->assign('TITULO_INSERCAO_DE_MODULOS', texto('TITULO_INSERCAO_DE_MODULOS', array($cursoConstrucao->getNomeModulo())));

				$this->exibir('criarcursopasso4');
				if (isset($_SESSION['constructore']['criarcurso']['dadosCurso']))
					unset($_SESSION['constructore']['criarcurso']['dadosCurso']);
				if (isset($_SESSION['constructore']['criarcurso']['dadosModulo']))
					unset($_SESSION['constructore']['criarcurso']['dadosModulo']);
				if (isset($_SESSION['constructore']['criarcurso']['passo4']))
					unset($_SESSION['constructore']['criarcurso']['passo4']);
				if (isset($_SESSION['constructore']['criarcurso']['cursoConstrucao']))
					unset($_SESSION['constructore']['criarcurso']['cursoConstrucao']);
			}
		}
    	else {
			adicionaMensagem(texto('MENSAGEM_ERRO_ACAO_INVALIDA'),'erro');
			redireciona(array('inicial'));
		}
	}
	else {
		adicionaMensagem(texto('MENSAGEM_ERRO_USUARIO_NAO_LOGADO'),'erro');
		redireciona(array('principal'));
	}
?>